<?php

namespace app\common\model\Business;

// 引入模块
use think\Model;

/**
 * 用户数据模型
 */
class Business extends Model
{
    protected function initialize()
    {
        //需要调用`Model`的`initialize`方法
        parent::initialize();
        //TODO:自定义的初始化
        // $this->RegionModel = model('Region');
    }

    // 设置当前模型对应的完整数据表名称
    protected $table = 'pre_business';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = true;
    protected $updateTime = false;
    // 定义时间戳字段名
    protected $createTime = 'createtime';

    // 追加字段  在当前用户模型里面追加自定义的字段
    protected $append = [
        'avatar_text', // 头像
        'region',  //地区
        'gender_text', // 性别
    ];

    /*
        开头要求：get
        avatar_text写在骆峰式的命名 AvatarText
        结尾要求是Attr
        获取器方法名称： get + 自定义字段 + Attr
    */
    public function getAvatarTextAttr($value, $data)
    {
        $http = config('Site.url'); //通过助手函数获取系统配置的网站名称，也可以通过模型引用查询
        // empty 判断当前变量是否为空, 为真表示变量是空
        $url = empty($data['avatar']) ?  $http . "/assets/img/avatar.jpg" : $http . $data['avatar'];
        return $url;
    }

    // 格式化省市地区
    public function getRegionAttr($value, $data)
    {
        $region = '';
        // 省
        $province = empty($data['province']) ? '' : $data['province'];
        if ($province) {
            $province_text = model('Region')::where('code', $province)->value('name');
            $region = $province_text . "-";
        }
        // 市
        $city = empty($data['city']) ? '' : $data['city'];
        if ($city) {
            $city_text = model('Region')::where('code', $city)->value('name');
            $region .= $city_text . "-";
        }
        // 区
        $district = empty($data['district']) ? '' : $data['district'];
        if ($district) {
            $district_text = model('Region')::where('code', $district)->value('name');
            $region .= $district_text;
        }

        return $region;
    }

     // 性别
     public function getGenderTextAttr($value, $data)
     {
         $list = ['0' => '保密', '1' => '男', '2' => '女'];
         $del = $data['gender'] ? $data['gender'] : 0;
         return $list[$del];
     }

    // 来源
    public function source()
    {
        return  $this->belongsTo('app\common\model\Business\Source', 'sourceid', 'id',  [], 'LEFT')->setEagerlyType(0);
    }
}
